import config from '@/config'; // 引入环境配置

export function request(options) {
  return new Promise((resolve, reject) => {
    // 从本地存储获取token
    const token = uni.getStorageSync('token');

    uni.request({
      // 拼接基础URL和接口路径
      url: config.baseURL + options.url,
      method: options.method || 'GET',
      data: options.data || {},
      header: {
        'Content-Type': 'application/json; charset=utf-8',
        // 自动携带token（如有）
        ...(token ? { token } : {}),
        // 允许覆盖默认header
        ...options.header
      },
      success: (res) => {
        // 直接返回后端数据（已包含code/msg/data）
        resolve(res.data);
      },
      fail: (err) => {
        // 网络错误统一处理
        uni.showToast({
          title: '网络请求失败，请稍后重试',
          icon: 'none'
        });
        reject(err);
      }
    });
  });
}

export default request;